package com.bot.adms.service;

import com.bot.adms.model.bo.AdInfoBo;
import com.bot.adms.model.vo.AdInfoVo;

import java.util.List;

/**
 * 广告模块业务层接口
 * 包含：
 * 删除广告
 * 查看广告
 * 查询广告
 * 下线广告
 * 上线广告
 * 预览广告
 */
public interface IModel {


        /**
         * 删除广告
         * @param id 删除广告的id标识
         * @return是否成功
         */
        public Boolean deleteAd(Long id);


        /**
         * 查看广告
         * @param id 查看广告的id标识
         * @return 查询到的广告信息的vo视图模型
         */
        public AdInfoVo getAd(Long id);

        /**
         * 预览广告
         * @param id 查看广告的id标识
         * @return 需要预览的广告信息的vo视图模型
         */
        public AdInfoVo previewAd(Long id);

        /**
         * 查询广告
         * @param adInfoBo 查询的广告条件，包含用标题名，状态
         * @return搜索到的广告的信息的视图数据集合
         */
        public List<AdInfoVo> getAdList(AdInfoBo adInfoBo);


        /**
         * 下线广告
         * @param id 需要下线的id标识
         * @return是否成功
         */
        public Boolean release(Long id);


        /**
         * 上线广告
         * @param id 需要上线的id标识
         * @return是否成功
         */
        public Boolean offLine(Long id);
}
